协同过滤算法效果不佳怎么办?知识图谱来帮忙啦!
(点击上方公众号,可快速关注)
转自:炼丹笔记-一元
Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation(WWW2019)
背景
协同过滤在真实推荐场景中经常会受到稀疏性和冷启动问题的影响,为了缓解此类问题,我们使用附带信息(side infomation)来处理。本文,作者使用知识图谱作为附带信息并采用多任务学习的方式来处理该问题。
问题定义模型介绍
1. 问题形式
1.1 符号定义 & 案例解释
我们有一个个用户的集合以及个商品的集合, 以及用户和商品的交互集合, 如果用户和商品有交叉,例如点击,观看,购买等,那么,反之则为0.
除此之外,我们还有知识图谱, 它由实体关系实体(entity-relation-entity)的三元组组成,其中分别表示head,relation,和tail. 例如(Quentin Tarantino, film.director.film, Pulp Fiction)就表示Quentin Tarantino监制了电影Pulp Fiction。而在推荐场景中, 一个商品可能和中的一个或者多个实体关联。例如在电影推荐中, Pulp Fiction可能和它一个同名的关联,但是在新闻推荐中,标题名字为”Trump pledges aid to Silicon Valley during tech meeting”在知识图谱中就和实体"Donald Trump"以及"Silicon Valley"相关联。
1.2. 问题定义
给定用户和商品的交互矩阵以及知识图谱,我们希望预测用户对于之前从未有交互的商品是否存在潜在的兴趣?所以我们的目标就是:
其中为用户和商品交互的概率,为函数的参数,
2. 模型框架
本文的整体模型框架如下:
MKR由三个模块组成:
推荐模块:使用用户和商品作为输入并且使用MLP和cross&compress单元分别抽取dense的用户和商品特征;抽取的特征然后输入到另一个MLP并输出预测概率;
右侧的KGE模型也使用了多层从head和知识三元组中抽取特征并且输出在分数函数和实际尾部监督下的尾部预测的表示;
推荐模块和KGE模块通过特殊设计的cross&compress单元进行连接。提出的单元还可以学习在推荐系统和KG中实体的高阶交叉信息。
2.1 Cross & compress 单元
为了建模商品和实体的特征交叉,我们设计了一个cross&compress单元。对于商品以及它所关联的实体,我们先构建影藏特征以及的个成对交叉。
然后我们通过交叉特征矩阵将下一层的商品和实体特征向量映射到它们的潜在表示空间。
其中
单元:
通过该操作,MKR可以自适应地调整知识迁移的权重并且学习两个任务的相关性。
注意:交叉压缩单元应该只存在于MKR的底层。在深层结构中,特征通常沿网络从广义(general)到特定(special)的转换,并且随着任务的不同性的增加,特征在更高层次的移植性会显著下降。因此,共享高层的信息有可能导致负迁移,特别是对于MKR中的异构任务。在MKR的高层中,商品的特征与用户特征混合,实体特征与关系特征混合。混合特征不适合共享,因为它们没有明确的关联。
2.2 推荐模块
MKR中的推荐模块由两个原始输入特征向量
其中
其中
在获得用户
2.3 知识图谱Embedding模块
知识图谱embedding将实体以及关系embed到某个连续的向量空间中,和推荐模块类似, 对于给定的知识三元组
其中
我们使用正则化的内积
2.4 学习算法
MKR的最终Loss为:
上面式子中,
3. 理论分析
实验
1. 和Baseline比较
MKR在四个数据集上对比其他所有方法都取得了最好的效果;
2. 和MKR的变种比较
MKR中设计的交叉策略可以学习到更加高阶的信息,取得更好的效果
3. 在稀疏场景下的情况
和其他模型对比, MKR在数据稀疏的情况下下降是最少的,这也验证了模型MKR当用户商品交叉较少的情况下依然可以取得不错的效果;
4. KGE side的结果
RS的任务也可以帮助KGE任务,这也说明了multi-task learning可以利用共享信息帮助提升所有任务的效果。
5. 参数敏感度(KG:Knowledge Graph, KGE:Knowledge Graph Embedding)
KG大小的影响: Bing-News的效果随着KG size的变大而稳定变好; RS的训练频率: MKR前期会随着训练频次的增加而变好,但是到达某个值t=5之后,效果会略有下降,这可能是因为KGE模块的高训练频率会误导MKR的目标函数,而KGE训练频率太小则无法充分利用KG传递的知识; Embedding维度的影响:随着embedding维度的增大, 效果前期会有提升,但是到后面之后会慢慢变差一些,这可能是因为过大的embedding维度会引入噪音的问题;
小结
提出了一种多任务学习的知识图增强推荐方法MKR。MKR是一个端到端的深度模型框架,由两部分组成:推荐模块和KGE模块。两个模块都采用多个非线性层来提取输入的潜在特征,以适应用户商品和头部关系对之间复杂的交互作用。由于这两个任务不是独立的,而是通过商品和实体联系在一起的,因此我们在MKR中设计了一个交叉压缩单元来关联这两个任务,它可以自动学习项目和实体特征的高阶交互,并在两个任务之间传递知识。在四个推荐场景中进行了大量的实验。结果表明MKR比强基线有显著的优越性和KG的使用效果。
参考文献
Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation(WWW2019):https://arxiv.org/pdf/1901.08907.pdf
- EOF -
看完本文有收获?请转发分享给更多人
关注「大数据与机器学习文摘」,成为Top 1%
点赞和在看就是最大的支持❤️